<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <link rel="icon" type="image/svg+xml" href="./favicon.ico" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>KITEGO-Admin</title>
        <script type="text/javascript">
            // 同步加载配置（阻塞渲染）
            document.write(`<script src="./config.js?t=${Date.now()}"><\/script>`)
        </script>
      <script type="module" crossorigin src="./assets/index.BawJ4haG.js"></script>
      <link rel="modulepreload" crossorigin href="./assets/@babel.B-FzIXMv.js">
      <link rel="modulepreload" crossorigin href="./assets/@vue.BtNfrPij.js">
      <link rel="modulepreload" crossorigin href="./assets/@vueuse.DrDgDslK.js">
      <link rel="modulepreload" crossorigin href="./assets/@element-plus.BTZ2wr64.js">
      <link rel="modulepreload" crossorigin href="./assets/lodash-es.j3U32ltY.js">
      <link rel="modulepreload" crossorigin href="./assets/@popperjs.CAdQq_Wy.js">
      <link rel="modulepreload" crossorigin href="./assets/async-validator.CRx4dHSJ.js">
      <link rel="modulepreload" crossorigin href="./assets/@ctrl.r5W6hzzQ.js">
      <link rel="modulepreload" crossorigin href="./assets/normalize-wheel-es.BQoi3Ox2.js">
      <link rel="modulepreload" crossorigin href="./assets/element-plus.Be0dS6LK.js">
      <link rel="modulepreload" crossorigin href="./assets/@intlify.BZMhcWWw.js">
      <link rel="modulepreload" crossorigin href="./assets/vue-i18n.DlFf3ciX.js">
      <link rel="modulepreload" crossorigin href="./assets/disable-devtool.utuXWF5l.js">
      <link rel="modulepreload" crossorigin href="./assets/pinia.Cvw9i2dF.js">
      <link rel="modulepreload" crossorigin href="./assets/secure-ls.BYFRP9Hu.js">
      <link rel="modulepreload" crossorigin href="./assets/axios.xsH4HHeE.js">
      <link rel="modulepreload" crossorigin href="./assets/crypto-js.j6Wb0JLt.js">
      <link rel="modulepreload" crossorigin href="./assets/file-saver.BQzEoqWf.js">
      <link rel="modulepreload" crossorigin href="./assets/object-assign.Dw8nQtKq.js">
      <link rel="modulepreload" crossorigin href="./assets/react.DpbwYowu.js">
      <link rel="modulepreload" crossorigin href="./assets/lodash.DeKB5U7I.js">
      <link rel="modulepreload" crossorigin href="./assets/tslib.DltAyV8L.js">
      <link rel="modulepreload" crossorigin href="./assets/moment.D-yl7r-d.js">
      <link rel="modulepreload" crossorigin href="./assets/amis-formula.DtqChqY5.js">
      <link rel="modulepreload" crossorigin href="./assets/scheduler.D7uXzuMV.js">
      <link rel="modulepreload" crossorigin href="./assets/react-dom.BVDKACTX.js">
      <link rel="modulepreload" crossorigin href="./assets/invariant.Dv5JEHWo.js">
      <link rel="modulepreload" crossorigin href="./assets/react-lifecycles-compat.AfN2QaV3.js">
      <link rel="modulepreload" crossorigin href="./assets/hoist-non-react-statics.CzNctD5u.js">
      <link rel="modulepreload" crossorigin href="./assets/mobx.B-LsJ7GW.js">
      <link rel="modulepreload" crossorigin href="./assets/uncontrollable.C27ltuLQ.js">
      <link rel="modulepreload" crossorigin href="./assets/mobx-state-tree.B-1R_ftH.js">
      <link rel="modulepreload" crossorigin href="./assets/path-to-regexp.Ao4bmhht.js">
      <link rel="modulepreload" crossorigin href="./assets/remove-accents.B5P6FMT-.js">
      <link rel="modulepreload" crossorigin href="./assets/match-sorter.V6KWUIxs.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-util.CPjYLgs8.js">
      <link rel="modulepreload" crossorigin href="./assets/classnames.BxN5xOBl.js">
      <link rel="modulepreload" crossorigin href="./assets/resize-observer-polyfill.B1PUzC5B.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-resize-observer.C8U7wIRP.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-motion.D76mUHp-.js">
      <link rel="modulepreload" crossorigin href="./assets/@rc-component.Bxcpt9ZS.js">
      <link rel="modulepreload" crossorigin href="./assets/mobx-react-lite.Y7Thks0P.js">
      <link rel="modulepreload" crossorigin href="./assets/mobx-react.8rY64jL7.js">
      <link rel="modulepreload" crossorigin href="./assets/react-intersection-observer.txmmdqyM.js">
      <link rel="modulepreload" crossorigin href="./assets/dom-helpers.q4aviMDZ.js">
      <link rel="modulepreload" crossorigin href="./assets/@restart.DpjskwPQ.js">
      <link rel="modulepreload" crossorigin href="./assets/warning.B7zaZ96F.js">
      <link rel="modulepreload" crossorigin href="./assets/prop-types.BZrn-eF9.js">
      <link rel="modulepreload" crossorigin href="./assets/react-overlays.Beepk_0i.js">
      <link rel="modulepreload" crossorigin href="./assets/react-is.BT7heKaF.js">
      <link rel="modulepreload" crossorigin href="./assets/react-transition-group.CvDQkmml.js">
      <link rel="modulepreload" crossorigin href="./assets/amis-core.BQZDf7Bz.js">
      <link rel="modulepreload" crossorigin href="./assets/keycode.W4_58I6Y.js">
      <link rel="modulepreload" crossorigin href="./assets/clsx.DfxDCQhV.js">
      <link rel="modulepreload" crossorigin href="./assets/react-draggable.DeXH2MF4.js">
      <link rel="modulepreload" crossorigin href="./assets/compute-scroll-into-view.D22vbapo.js">
      <link rel="modulepreload" crossorigin href="./assets/downshift.I0cnD1br.js">
      <link rel="modulepreload" crossorigin href="./assets/use-isomorphic-layout-effect.DfQfp_28.js">
      <link rel="modulepreload" crossorigin href="./assets/use-latest.BtuaDWew.js">
      <link rel="modulepreload" crossorigin href="./assets/use-composed-ref.CYqBisdf.js">
      <link rel="modulepreload" crossorigin href="./assets/react-textarea-autosize.zjIYEojQ.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-input-number.Diyj3Nx7.js">
      <link rel="modulepreload" crossorigin href="./assets/react-hook-form.CRfbxUzg.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-progress.B4uEN1Cz.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-overflow.lPkkUF0E.js">
      <link rel="modulepreload" crossorigin href="./assets/rc-menu.BXn2HWbx.js">
      <link rel="modulepreload" crossorigin href="./assets/smooth-signature.BBLBr0ZM.js">
      <link rel="modulepreload" crossorigin href="./assets/tinymce.BTCJHU7D.js">
      <link rel="modulepreload" crossorigin href="./assets/froala-editor.CLqkpS1M.js">
      <link rel="modulepreload" crossorigin href="./assets/tinycolor2.Begke6kS.js">
      <link rel="modulepreload" crossorigin href="./assets/reactcss.Bx3Mg_OT.js">
      <link rel="modulepreload" crossorigin href="./assets/material-colors.7R66pBqW.js">
      <link rel="modulepreload" crossorigin href="./assets/@icons.oJ7xYSYi.js">
      <link rel="modulepreload" crossorigin href="./assets/react-color.Bd2Hq9lN.js">
      <link rel="modulepreload" crossorigin href="./assets/jsbarcode.D-n5BzLh.js">
      <link rel="modulepreload" crossorigin href="./assets/uc.micro.C0xG9J0O.js">
      <link rel="modulepreload" crossorigin href="./assets/mdurl.AnhxIccw.js">
      <link rel="modulepreload" crossorigin href="./assets/linkify-it.BSJQaM1H.js">
      <link rel="modulepreload" crossorigin href="./assets/punycode.DS9zOd2J.js">
      <link rel="modulepreload" crossorigin href="./assets/markdown-it.C2DzP0Ay.js">
      <link rel="modulepreload" crossorigin href="./assets/markdown-it-html5-media.B2_7QzX3.js">
      <link rel="modulepreload" crossorigin href="./assets/make-event-props.BSS3Agxc.js">
      <link rel="modulepreload" crossorigin href="./assets/make-cancellable-promise.BDT7duwA.js">
      <link rel="modulepreload" crossorigin href="./assets/tiny-invariant.CopsF_GD.js">
      <link rel="modulepreload" crossorigin href="./assets/dequal.tFQomdd2.js">
      <link rel="modulepreload" crossorigin href="./assets/pdfjs-dist.CL-EDARn.js">
      <link rel="modulepreload" crossorigin href="./assets/merge-refs.B7wZyJkK.js">
      <link rel="modulepreload" crossorigin href="./assets/react-pdf.pZ0eyZ-D.js">
      <link rel="modulepreload" crossorigin href="./assets/amis-ui.CCAeaigy.js">
      <link rel="modulepreload" crossorigin href="./assets/file-selector.eruhj9F5.js">
      <link rel="modulepreload" crossorigin href="./assets/attr-accept.62E3IRuR.js">
      <link rel="modulepreload" crossorigin href="./assets/react-dropzone.8t9WRaBu.js">
      <link rel="modulepreload" crossorigin href="./assets/blueimp-canvastoblob.DaXWTykz.js">
      <link rel="modulepreload" crossorigin href="./assets/moment-timezone.BTdgn4Zd.js">
      <link rel="modulepreload" crossorigin href="./assets/file64.DingqOLp.js">
      <link rel="modulepreload" crossorigin href="./assets/redux.B55FRwas.js">
      <link rel="modulepreload" crossorigin href="./assets/video-react.VUFyXLfg.js">
      <link rel="modulepreload" crossorigin href="./assets/immutability-helper.B5D6w5Ox.js">
      <link rel="modulepreload" crossorigin href="./assets/qrcode-react-next.BHqWuXBj.js">
      <link rel="modulepreload" crossorigin href="./assets/hotkeys-js.BjhE44V0.js">
      <link rel="modulepreload" crossorigin href="./assets/amis.CkLulCsT.js">
      <link rel="modulepreload" crossorigin href="./assets/vue-router.BU-xgsy6.js">
      <link rel="modulepreload" crossorigin href="./assets/nprogress.DdxgvHcX.js">
      <link rel="modulepreload" crossorigin href="./assets/destr.BPvN1X9m.js">
      <link rel="modulepreload" crossorigin href="./assets/deep-pick-omit.CegYQlcN.js">
      <link rel="modulepreload" crossorigin href="./assets/pinia-plugin-persistedstate.OX__kqm9.js">
      <link rel="stylesheet" crossorigin href="./assets/style.BTYd2baD.css">
    </head>

    <body>
        <div id="app">
            <div class="app-loading">
                <div class="app-loading__logo">
                    <img src="./favicon.ico" />
                </div>
                <div class="app-loading__loader"></div>
                <div class="app-loading__title">KITEGO-Admin</div>
            </div>
            <style>
                .app-loading {
                    position: absolute;
                    top: 0px;
                    left: 0px;
                    right: 0px;
                    bottom: 0px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    flex-direction: column;
                    background: #fff;
                }

                .app-loading__logo {
                    margin-bottom: 30px;
                }

                .app-loading__logo img {
                    width: 90px;
                    vertical-align: bottom;
                }

                .app-loading__loader {
                    box-sizing: border-box;
                    width: 35px;
                    height: 35px;
                    border: 5px solid transparent;
                    border-top-color: #000;
                    border-radius: 50%;
                    animation: 0.5s loader linear infinite;
                    position: relative;
                }

                .app-loading__loader:before {
                    box-sizing: border-box;
                    content: '';
                    display: block;
                    width: inherit;
                    height: inherit;
                    position: absolute;
                    top: -5px;
                    left: -5px;
                    border: 5px solid #ccc;
                    border-radius: 50%;
                    opacity: 0.5;
                }

                .app-loading__title {
                    font-size: 24px;
                    color: #333;
                    margin-top: 30px;
                }

                .dark .app-loading {
                    background: #222225;
                }

                .dark .app-loading__loader {
                    border-top-color: #fff;
                }

                .dark .app-loading__title {
                    color: #d0d0d0;
                }

                @keyframes loader {
                    0% {
                        transform: rotate(0deg);
                    }

                    100% {
                        transform: rotate(360deg);
                    }
                }
            </style>
        </div>
    </body>
    <div
        id="versionCheck"
        style="
            display: none;
            position: absolute;
            z-index: 99;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 40px;
            background: rgba(255, 255, 255, 0.9);
            color: #333;
        "
    >
        <h2 style="line-height: 1; margin: 0; font-size: 24px">当前使用的浏览器内核版本过低 :(</h2>
        <p style="line-height: 1; margin: 0; font-size: 14px; margin-top: 20px; opacity: 0.8">
            当前版本：<span id="versionCheck-type">--</span>
            <span id="versionCheck-version">--</span>
        </p>
        <p style="line-height: 1; margin: 0; font-size: 14px; margin-top: 10px; opacity: 0.8">
            最低版本要求：Chrome 71+、Firefox 65+、Safari 12+、Edge 97+。
        </p>
        <p style="line-height: 1; margin: 0; font-size: 14px; margin-top: 10px; opacity: 0.8">
            请升级浏览器版本，或更换现代浏览器，如果你使用的是双核浏览器,请切换到极速/高速模式。
        </p>
    </div>
    <script type="text/javascript">
        function getBrowserInfo() {
            const userAgent = window.navigator.userAgent
            const browserInfo = {
                type: 'unknown',
                version: 'unknown',
                userAgent: userAgent
            }
            if (document.documentMode) {
                browserInfo.type = 'IE'
                browserInfo.version = document.documentMode + ''
            } else if (indexOf(userAgent, 'Firefox')) {
                browserInfo.type = 'Firefox'
                browserInfo.version = userAgent.match(/Firefox\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Opera')) {
                browserInfo.type = 'Opera'
                browserInfo.version = userAgent.match(/Opera\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Edg')) {
                browserInfo.type = 'Edg'
                browserInfo.version = userAgent.match(/Edg\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Chrome')) {
                browserInfo.type = 'Chrome'
                browserInfo.version = userAgent.match(/Chrome\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'Safari')) {
                browserInfo.type = 'Safari'
                browserInfo.version = userAgent.match(/Safari\/([\d.]+)/)[1]
            } else if (indexOf(userAgent, 'MicroMessenger')) {
                browserInfo.type = 'MicroMessenger'
                browserInfo.version = userAgent.match(/MicroMessenger\/([\d.]+)/)[1]
            }
            return browserInfo
        }

        function indexOf(userAgent, browser) {
            return userAgent.indexOf(browser) > -1
        }

        function isSatisfyBrowser() {
            const minVer = {
                Chrome: 71,
                Firefox: 65,
                Safari: 14,
                Edg: 97,
                IE: 999,
                MicroMessenger: 0
            }
            const browserInfo = getBrowserInfo()
            const materVer = browserInfo.version.split('.')[0]
            return materVer >= minVer[browserInfo.type]
        }

        if (!isSatisfyBrowser()) {
            document.getElementById('versionCheck').style.display = 'block'
            document.getElementById('versionCheck-type').innerHTML = getBrowserInfo().type
            document.getElementById('versionCheck-version').innerHTML = getBrowserInfo().version
        }
    </script>
</html>
